package com.github.mall.common.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 优惠卷表
 *
 * @author bluesmi
 * @date 2019-06-25 19:49:26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sms_coupon")
@ApiModel("优惠卷表")
public class SmsCouponEntity extends Model<SmsCouponEntity> {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId(value = "id", type = IdType.UUID)
    @ApiModelProperty(name = "id", value = "")
    private String id;
    /**
     * 优惠卷类型；0->全场赠券；1->会员赠券；2->购物赠券；3->注册赠券
     */
    @TableField(value = "type")
    @ApiModelProperty(name = "type", value = "优惠卷类型；0->全场赠券；1->会员赠券；2->购物赠券；3->注册赠券")
    private Integer type;
    /**
     *
     */
    @TableField(value = "name")
    @ApiModelProperty(name = "name", value = "")
    private String name;
    /**
     * 使用平台：0->全部；1->移动；2->PC
     */
    @TableField(value = "platform")
    @ApiModelProperty(name = "platform", value = "使用平台：0->全部；1->移动；2->PC")
    private Integer platform;
    /**
     * 数量
     */
    @TableField(value = "count")
    @ApiModelProperty(name = "count", value = "数量")
    private Integer count;
    /**
     * 金额
     */
    @TableField(value = "amount")
    @ApiModelProperty(name = "amount", value = "金额")
    private BigDecimal amount;
    /**
     * 每人限领张数
     */
    @TableField(value = "per_limit")
    @ApiModelProperty(name = "perLimit", value = "每人限领张数")
    private Integer perLimit;
    /**
     * 使用门槛；0表示无门槛
     */
    @TableField(value = "min_point")
    @ApiModelProperty(name = "minPoint", value = "使用门槛；0表示无门槛")
    private BigDecimal minPoint;
    /**
     *
     */
    @TableField(value = "start_time")
    @ApiModelProperty(name = "startTime", value = "")
    private Date startTime;
    /**
     *
     */
    @TableField(value = "end_time")
    @ApiModelProperty(name = "endTime", value = "")
    private Date endTime;
    /**
     * 使用类型：0->全场通用；1->指定分类；2->指定商品
     */
    @TableField(value = "use_type")
    @ApiModelProperty(name = "useType", value = "使用类型：0->全场通用；1->指定分类；2->指定商品")
    private Integer useType;
    /**
     * 备注
     */
    @TableField(value = "note")
    @ApiModelProperty(name = "note", value = "备注")
    private String note;
    /**
     * 发行数量
     */
    @TableField(value = "publish_count")
    @ApiModelProperty(name = "publishCount", value = "发行数量")
    private Integer publishCount;
    /**
     * 已使用数量
     */
    @TableField(value = "use_count")
    @ApiModelProperty(name = "useCount", value = "已使用数量")
    private Integer useCount;
    /**
     * 领取数量
     */
    @TableField(value = "receive_count")
    @ApiModelProperty(name = "receiveCount", value = "领取数量")
    private Integer receiveCount;
    /**
     * 可以领取的日期
     */
    @TableField(value = "enable_time")
    @ApiModelProperty(name = "enableTime", value = "可以领取的日期")
    private Date enableTime;
    /**
     * 优惠码
     */
    @TableField(value = "code")
    @ApiModelProperty(name = "code", value = "优惠码")
    private String code;
    /**
     * 可领取的会员类型：0->无限时
     */
    @TableField(value = "member_level")
    @ApiModelProperty(name = "memberLevel", value = "可领取的会员类型：0->无限时")
    private Integer memberLevel;

}
